package com.siwei.mes.entity.dto;

import com.siwei.mes.entity.ShxhSynchronizedata;
import com.siwei.mes.entity.erp.Phbhistory;
import com.siwei.mes.entity.erp.Rwdextra;
import com.siwei.mes.entity.experiment.*;
import com.siwei.mes.entity.mixproportion.MixProportion;
import com.siwei.mes.entity.sync.tc.SupplyTask;
import com.siwei.mes.entity.system.CompanyConfig;
import com.siwei.mes.entity.system.Signature;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 打印dto
 *
 * @Description: 打印dto
 * @Version: 1.0
 * @author: mlchen
 * @date: 2024/7/24 11:17
 */
@Data
public class PrintExperimentInfo {
    @ApiModelProperty(value = "企业配置信息")
    private CompanyConfig companyInfo;
    @ApiModelProperty(value = "企业名称")
    private String companyName;

    @ApiModelProperty(value = "试验台账id")
    private Long experimentId;

    @ApiModelProperty(value = "任务单id")
    private Integer frwdh;

    /**
     * 1-水泥 2-粉煤灰 3-矿渣粉 4-粗骨料 5-细骨料 6-外加剂 7-混凝土
     */
    @ApiModelProperty(value = "1-水泥 2-粉煤灰 3-矿渣粉 4-粗骨料 5-细骨料 6-外加剂 7-混凝土", name = "experimentType")
    private Integer experimentType;

    @ApiModelProperty(value = "试验台账信息")
    private Experiment experimentInfo;

    @ApiModelProperty(value = "试验台账试验项目集合")
    private List<ExperimentDetail> experimentDetailList;

    @ApiModelProperty(value = "抽样集合")
    private List<ExperimentSampleSmoke> experimentSampleSmokeList;

    @ApiModelProperty(value = "取样信息")
    private ExperimentSampleTake experimentSampleTakeInfo;

    @ApiModelProperty(value = "erp任务信息")
    private List<Rwdextra> rwdextraList;

    @ApiModelProperty(value = "砼材任务信息")
    private List<SupplyTask> supplyTaskList;

    @ApiModelProperty(value = "对应协会数据")
    private List<ShxhSynchronizedata> shxhSynchronizedataList;

    @ApiModelProperty(value = "配合比信息")
    private MixProportion mixProportion;

    @ApiModelProperty(value = "抗渗对应的试验台账相关信息  只有任务单才友")
    private PrintTaskExperimentInfo ksInfo;
    @ApiModelProperty(value = "抗氯离子 只有任务单才有")
    private Map<String,List<ExperimentSimpleDto>> kyMapInfo;
    @ApiModelProperty(value = "抗折对应的试验台账相关信息  只有任务单才友")
    private PrintTaskExperimentInfo kzInfo;
    @ApiModelProperty(value = "抗压对应的试验台账相关信息 只有任务单才有")
    private List<PrintTaskExperimentInfo> kyInfoList;
    @ApiModelProperty(value = "综合性能报告对应的试验台账相关信息 只有任务单才有")
    private PrintTaskExperimentInfo xnbgInfo;
    @ApiModelProperty(value = "抗氯离子 只有任务单才有")
    private PrintTaskExperimentInfo kllzInfo;

    @ApiModelProperty(value = "配合比对应绑定的试验委托")
    private PrintMixExperimentInfo mixExperimentInfo;

    @ApiModelProperty(value = "任务单的配比，去拿到对应材料类型，材料名称，材料规格，去获取最近已完成的一份试验")
    private PrintMixExperimentInfo mixMaterialsExperimentInfo;

    @ApiModelProperty(value = "ERP配合比修改历史记录")
    private List<Phbhistory> phbhistoryList;

    @ApiModelProperty(value = "配合比验证记录对应各个材料的厂家信息")
    private PrintVerifyRecordOtherInfo printVerifyRecordOtherInfo;

    @ApiModelProperty(value = "开盘鉴定信息")
    private OpenAppraisal openAppraisal;

    @ApiModelProperty(value = "ERP配合比修改信息(小票生产日期最近一次)")
    private Phbhistory phbhistory;

    @ApiModelProperty(value = "打印电子签名表")
    private Signature signature;
}
